#!/bin/bash

# 限流测试脚本
# 用于验证限流功能是否正常工作

echo "开始测试限流功能..."
echo "目标URL: http://localhost:8080/hello"
echo "限流阈值: 每秒100个请求"
echo ""

# 测试正常请求
echo "=== 测试正常请求 ==="
for i in {1..10}; do
    response=$(curl -s -o /dev/null -w "%{http_code}" http://172.22.83.18:31073/hello)
    echo "请求 $i: HTTP状态码 $response"
done

echo ""
echo "=== 压力测试（触发限流） ==="
echo "正在发送150个并发请求..."

# 使用curl并发发送请求以触发限流
for i in {1..150}; do
    curl -s -o /dev/null -w "请求 $i: %{http_code}\n" http://172.22.83.18:31073/hello &
done

# 等待所有后台任务完成
wait

echo ""
echo "测试完成！"
echo "正常情况下，您应该看到："
echo "1. 前100个请求返回200状态码"
echo "2. 超出限流的请求返回429状态码"
echo ""
echo "您还可以访问 http://localhost:8998/actuator/prometheus 查看指标" 